Skip to content

feat(aws-serverless): add Java language coverage to aws-lambda-durable-functions skill#233

Open
DeepaliTandale wants to merge 5 commits into
awslabs:mainfrom
DeepaliTandale:pr-112
Open

feat(aws-serverless): add Java language coverage to aws-lambda-durable-functions skill#233
DeepaliTandale wants to merge 5 commits into
awslabs:mainfrom
DeepaliTandale:pr-112

Conversation

@DeepaliTandale

Copy link
Copy Markdown

Summary

Add comprehensive Java examples to all reference documentation for the Lambda Durable Functions skill, ensuring complete language coverage across TypeScript, Python, and Java.

Changes

Java examples added to 10 files (1,892 insertions, 1 in-place edit):

  • SKILL.md — prerequisites, language selection, Maven install, basic handler, Java API section, resources
  • getting-started.md — basic handler, multi-step, GenAI agent, approval, saga, project structure, Maven setup, workflow, checklist
  • replay-model-rules.md — all 4 rules (wrong + correct), 3 pitfalls, testing replay
  • step-operations.md — typed steps, retry, custom retry, selective retry, semantics, serialization, child-context, error handling
  • wait-operations.md — simple waits, callback (with SDK callback-success), wait-for-condition, custom strategy, 3 callback patterns, error handling
  • concurrent-operations.md — map, parallel, 3 completion policies, result handling, error handling, concurrency control, advanced patterns, performance
  • error-handling.md — retry, custom retry, classification, saga, unrecoverable, Java exception table, determinism, partial failure
  • advanced-error-handling.md — DurableFuture.anyOf, Java exception types table
  • advanced-patterns.md — GenAI agent, step semantics, completion combinations, early termination, serialization, nested workflows, Java SDK configuration (virtual threads + checkpoint delay)
  • testing-patterns.md — 12 blocks covering local setup, operations, replay, waits, API patterns, callbacks, errors, concurrency, cloud testing, assertions + Java common-errors table

Verification

  • All Java snippets compile against the published aws-durable-execution-sdk-java 1.2.1
  • 27 JUnit tests execute via LocalDurableTestRunner (happy path, callbacks, retry, saga, map, parallel, waitForCondition, virtual-thread config, unrecoverable errors, user end-to-end scenario)
  • APIs verified against SDK source (DurableContext.java, config/exception/retry/model packages) — not assumptions
  • No TypeScript or Python code was modified

Acknowledgment

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

… Java

- replay-model-rules.md Rule 3: fix effectively-final lambda capture (use separate initial var)
- replay-model-rules.md: remove fully-qualified AtomicInteger, use short class name
- SKILL.md: fix return type mismatch (ProcessResult -> MyOutput) in quick-reference handler
@DeepaliTandale DeepaliTandale requested review from a team as code owners July 14, 2026 09:49
@DeepaliTandale DeepaliTandale changed the title Added Java language coverage to aws-lambda-durable-functions skill Fix Java language coverage to aws-lambda-durable-functions skill Jul 14, 2026
@DeepaliTandale DeepaliTandale changed the title Fix Java language coverage to aws-lambda-durable-functions skill feat(aws-serverless): add Java language coverage to aws-lambda-durable-functions skill Jul 14, 2026
@DeepaliTandale

Copy link
Copy Markdown
Author

@bfreiberg @dhegberg This replaces the previously-closed PR #112, rebuilt from scratch on the latest main with all review feedback addressed and every Java snippet compile-verified against SDK 1.2.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant